package com.lxy.cxcyxmmsbackend.sys.mapper;

import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 中间关系表操作
 */
public interface PermissionMapper {

    /**
     * 新增角色动作权限
     *
     * @param roleBh dzBh
     * @return int
     * @author lxy
     * @date 2024/1/7
     **/
    int insertRARel(@Param("roleBh") String roleBh, @Param("dzBh") String dzBh);

    /**
     * 根据角色ID查询菜单及其子菜单编号
     *
     * @param roleBh
     * @return List<String>
     * @author lxy
     * @date 2024/1/7
     **/
    List<String> selectMIdByRId(@Param("roleBh") String roleBh);

    /**
     * 根据角色ID查询菜单及其菜单下的所有功能的编号
     *
     * @param roleBh
     * @return List<String>
     * @author lxy
     * @date 2024/1/7
     **/
    List<String> selectAIdByRId(@Param("roleBh") String roleBh);

    /** 查询是否含有该角色动作
     * 修改菜单
     *
     * @param roleBh dzBh
     * @return int
     * @author lxy
     * @date 2024/1/7
     **/
    int selectRARel(@Param("roleBh") String roleBh, @Param("dzBh") String dzBh);

    /**
     * 删除一个角色动作权限 单个
     *
     * @param roleBh dzBh
     * @return int
     * @author lxy
     * @date 2024/1/7
     **/
    int deleteRARelOne(@Param("roleBh") String roleBh, @Param("dzBh") String dzBh);

    /**
     * 根据角色编号删除动作权限 多个
     *
     * @param roleBh
     * @return int
     * @author lxy
     * @date 2024/1/7
     **/
    int deleteRARelByroleId(@Param("roleBh") String roleBh);

    /**
     * 查询是否含有该角色菜单
     *
     * @param roleBh cdBh
     * @return int
     * @author lxy
     * @date 2024/1/7
     **/
    int selectRMRel(@Param("roleBh") String roleBh, @Param("cdBh") String cdBh);

    /**
     * 新增角色菜单权限
     *
     * @param roleBh cdBh
     * @return int
     * @author lxy
     * @date 2024/1/7
     **/
    int insertRmRel(@Param("roleBh") String roleBh, @Param("cdBh") String cdBh);

    /**
     * 删除一个角色菜单权限 单个
     *
     * @param roleBh cdBh
     * @return int
     * @author lxy
     * @date 2024/1/7
     **/
    int deleteRmRelOne(@Param("roleBh") String roleBh, @Param("cdBh") String cdBh);

    /**
     * 根据角色编号删除菜单权限 多个
     *
     * @param roleBh
     * @return int
     * @author lxy
     * @date 2024/1/7
     **/
    int deleteRmRelByroleId(@Param("roleBh") String roleBh);
}
